import { ajax, isLogin } from '../utils/ajax.js';
import '../lib/jquery.js';
import { pwdTest } from '../utils/reg.js';


(async function() {
    try {
        // 判断是否登录
        const { status, user, token } = await isLogin();
        if (status!== 1) {
            alert('请先登录！');
            window.location.href = './login.html';
            return;
        }

        // 表单提交时触发
        $('form').on('submit', async function(e) {
            e.preventDefault();
            // 获取输入的数据
            const oldPassword = $('.oldpassword').val();
            const newPassword = $('.newpassword').val();
            const rNewPassword = $('.rnewpassword').val();

            // 判断是否是空串
            if (oldPassword === '') {
                alert('旧密码不能为空');
                return;
            }
            if (newPassword === '') {
                alert('新密码不能为空');
                return;
            }
            if (rNewPassword === '') {
                alert('确认新密码不能为空');
                return;
            }

            // 正则校验
            if (!pwdTest(newPassword)) {
                alert('新密码格式错误');
                return;
            }

            // 两次密码是否一致
            if (newPassword!== rNewPassword) {
                alert('两次密码不一致');
                return;
            }

            // 发送的数据
            const data = { id: user.id, oldPassword, newPassword, rNewPassword };
            const response = await ajax.post('/users/rpwd', data, { headers: { authorization: token } });
            const { code } = response.data;
            if (code!== 1) {
                alert('修改失败');
            } else {
                // 修改密码后会自动注销，所以不用发请求到 logout，直接删本地存储
                localStorage.removeItem('token');
                localStorage.removeItem('uid');
                // 重新登陆
                alert('修改成功，点击确定跳转至登录页面');
                window.location.href = './login.html';
            }
        });
    } catch (error) {
        console.error('发生错误:', error);
        alert('操作过程中出现错误，请稍后再试');
    }
})();